Method and system for transformed target image acquisition

ABSTRACT

A concentric ring target detector receives input pixel data from an optical scanning device. The pixel data represents images on a conveyor belt and moving objects bearing information-encoded labels which are advanced by the conveyor belt. Input pixel data is alternately applied to a pair of FIFO blocks, one of such blocks receiving odd and even pixels from scan line N, the other of the blocks receiving pixels from scan line N-1. Pixels from the FIFO blocks are coupled through a pixel switch to a multi-tap first-in first-out block. Each FIFO block applies data to the pixel switch at one-half the rate at which it was received by the FIFO block to maintain constant throughput without the FIFO&#39;s overflowing or emptying. The pixel switch ensures that the pixels from scan lines N and N-1 remain in serial order. Pixels from scan line N and N-1 are shifted through a multi-tap FIFO. The multi-tap FIFO has a plurality of taps that enable reading of each pixel written to the multi-tap FIFO as the pixels are shifted through the FIFO. Various one of the tap outputs are coupled to a pair of template correlators. The image frame represented by the pixels applied to the template correlators are compared to templates in the correlators. The templates represent an image of a concentric ring acquisition target disposed on an information-encoded label. If either template correlator recognizes a predetermined correlation threshold, a detection signal is applied to a detection gate causing a detection signal line to activate at a point where the coordinates of the center of the concentric rings disposed on the information encoded label can be determined.

This is a divisional of application Ser. No. 07/889,019 filed on May 26,1992 now abandoned.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to camera systems and in particular to a camerasystem for optically scanning moving objects to obtain optically encodedinformation from the surface of the objects.

2. Background Art

Merchandise, various component parts, letters, moving objects,containers and a whole gamut of related items being shipped ortransported, frequently must be identified with information regardingorigin, flight number, destination, name, price, part number andnumerous other kinds of information. In other applications, the readingof encoded information printed on labels affixed to such items permitsautomation of sales figures and inventory as well as the operation ofelectronic cash registers. Other applications for such encoded labelsinclude the automated routing and sorting of mail, parcels, baggage, andthe like, and the placing of labels bearing manufacturing instructionson raw materials or component parts in a manufacturing process. Labelsfor these types of articles are conventionally marked with bar codes,one of which is the Universal Product Code. Numerous other bar codesystems are also known in the art.

However, certain applications require the encoding of larger amounts ofinformation on labels of increasingly smaller size.Commercially-available bar code systems sometimes lack sufficient datadensity to accommodate these needs. Attempts to reduce the overall sizeand spacing of bars in various bar code systems in order to increasedata density have not solved the problem. Optical scanners havingsufficient resolution to detect bar codes comprising contrasting barsspaced five mils or less apart are generally not economically feasibleto manufacture because of the close tolerances inherent in the labelprinting process and the sophisticated optical apparatus required toresolve bit-encoded bars of these dimensions. Alternatively, toaccommodate increased amounts of data, very large bar code labels havebeen fabricated, with the result that such labels are not compact enoughto fit on small articles. Another important factor is the cost of thelabel medium, such as paper. A small label has smaller paper costs thana large label. This cost is an important factor in large volumeoperations.

Therefore, other types of codes have been investigated to overcome theproblems associated with bar codes. Some alternatives to bar codes are:circular formats using radially disposed wedged-shaped coded elements,such as those disclosed in U.S. Pat. No. 3,553,438, issued to Blitz, andentitled "Mark Sensing System", or concentric black and whitebit-encoded rings, such as in U.S. Pat. Nos. 3,971,917 and 3,916,160,issued to Maddox and Russo, respectively; grids of rows and columns ofdata-encoded squares or rectangles, such as in U.S. Pat. No. 4,286,146,entitled "Coded Label and Code Reader for the Coded Label," issued toUno; microscopic spots disposed in cells forming a regularly spacedgrid, as disclosed in U.S. Pat. No. 4,634,850, entitled "Quad DensityOptical Data System", issued to Pierce; and densely packed Multicoloreddata fields of dots or elements, such as those described in U.S. Pat.No. 4,488,679, entitled "Code and Reading System, " issued to Bockholt.

These codes were satisfactory for many applications. However, some ofthe encoding systems described in the foregoing examples and otherencoding systems known in the art still did not provide the requireddata density. For example the encoded circular patterns and grids ofrectangular or square boxes did not provide sufficient density.Alternatively, in the case of the grids comprised of microscopic spotsor multi-colored elements referred to above, such systems requirespecial orientation and transport means, thus limiting the utility tohighly controlled reading environments. A further improvement, U.S. Pat.No. 4,874,936, entitled "Hexagonal Information Encoding Article, Processand System," issued to Chandler discloses a label for storinginformation-encoded hexagons which stores densely packed information andmay be read at high speed in any direction. This improvement thus solvesthe data density problems associated with bar codes.

However, the newer encoding systems, including the encoding systemtaught by Chandler, are of formats which are entirely different fromconventional bar codes and can not be read by conventional bar codereaders. Therefore it is difficult to use the newer encoding methodswhich may solve the data density problems of bar codes in an environmentin which bar codes are also present unless separate scanning anddecoding equipment is provided for each type of code. Thus, it would beadvantageous to have a single scanning and decoding device which maydetect and decode different types of encoding systems when the differentencoding systems are alternately disposed in the range of the opticalscanning and decoding device. Additionally, when higher density codesare used higher resolution optical scanning and therefore higher levelsof illumination are required. However, the very high levels ofillumination are only required some of the time. Thus wasted is energyand a threat of eye injury is needlessly created during the remainingperiods.

Regardless of the type of encoding system used, high quality detectionis required in many applications. Modern conveyor systems may haveconveyor belt widths of three to four feet over which the position of aninformation-encoded label may be disposed and belt speeds of fivehundred feet per minute or more. They carry moving objects which may beof varying heights upon which information-encoded labels are disposed.Thus, it can be very difficult for optical decoding systems to locateand read the data encoded labels disposed on these rapidly movingobjects.

These problems have led to the need for providing a simple, rapid andlow-cost means of signaling the presence of a data-encoded label withinthe field of view of an optical scanner mounted in a manner to permitscanning the entire conveyor belt. It is known in the art to solve theseproblems by providing easily recognizable optical acquisition targets aspart of an encoding system. For example, the system taught by Chandleruses a concentric ring acquisition target for this purpose.

Bar code systems may also be understood to provide an acquisitiontarget. For example, it is conventional in the art of detecting barcodes to pre-detect the rectangular shape formed by the bars. In thistype of system a rectangle may indicate the presence of a bar code.Conventional bar code detectors, after acquiring the rectangle, thenattempt to find encoded data within the pre-detected rectangle. If validdata is found encoded within the rectangle, the bar code is thusdetected. However, many other types of rectangles within the range ofthe optical scanning device may cause false pre-detects in this method.

Further data arrays having acquisition targets other than the concentricrings and bar codes are known in the art. For example, concentricgeometric figures other than rings, such as squares, triangles, hexagonsand numerous variations thereof, are described in U.S. Pat. No.3,513,320, issued to Weldon, on May 19, 1970, and entitled "ArticleIdentification System Detecting Plurality of Colors Disposed on anArticle", and U.S. Pat. No. 3,603,728, issued to Arimura, on Sept. 7,1979, and entitled "Position and Direction Detecting System UsingPatterns". U.S. Pat. No. 3,693,154, issued to Kubo et al., on Sept. 19,1972, and entitled "Method For Detecting the Position and Direction of aFine Object", and U.S. Pat. No. 3,801,775, issued to Acker, on Apr. 2,1974, and entitled "Method and Apparatus for Identifying Objects" alsodescribe systems using symbols comprising concentric circles asidentification and position indicators, which symbols are affixed toarticles to be optically scanned.

U.S. Pat. No. 3,553,438, entitled "Mark Sensing System", issued toMelvin, discloses a circular data array having a centrally-locatedacquisition target comprising a number of concentric circles. Theacquisition target of Melvin provides an image which may be used by anoptical scanning device to locate the label. The acquisition target ofMelvin also permits determination of the geometric center of the labeland the geometric center of the data array. This is done through logiccircuitry which recognizes the pulse pattern representative of theconcentric ring configuration.

The foregoing systems are generally scanned with an optical sensorcapable of generating a video signal output. The video output signalcorresponds to the change in intensity of light reflected off the dataarray and is therefore representative of the position and orientation ofthe scanned symbols. The video output of such systems, after it isdigitized, has a particular bit pattern which may be matched to apredetermined bit pattern. A common bit pattern of this type is a simpleharmonic as in the system taught by Chandler.

It is well known to detect the presence of harmonics such as thoseproduced by these systems in both the digital and the analog domains.However, in high speed optical systems for acquiring digital data therecognition of the target must take place in much less time than isavailable to recognize, for example, the touch tone of a telephone.Thus, a system for detecting any of these codes must reliably identifythe harmonics caused by an optical scan of a common optical acquisitiontarget from a signal which lasts only as long is the acquisition targetis actually scanned.

As previously described, Chandler discloses a circular data array havinga centrally located acquisition target comprising a series of concentricrings which produces a harmonic scan output signal. The acquisitiontarget of Chandler provides a means of acquiring the circular label bythe optical sensor and determining its geometric center and thereby thegeometric center of the surrounding data array. This is done throughlogic circuitry which operates to recognize the pulse patternrepresentative of the concentric ring configuration of the acquisitiontarget.

This recognition method relies upon a one dimensional scan of theconcentric ring pattern. When the concentric ring acquisition target isadvanced by a conveyor belt to the scan line of the optical scanningequipment, the scan line eventually passes through the center of theconcentric rings. At that point, the harmonic scan output signal isprovided at the output of the optical scanning device. This harmonicscan signal is then detected by a correlation filter. Alternately it maybe detected by any other type of harmonic detection device. However,this system is subject to some false detects since other objects scannedby the optical scanning device may also provide an harmonic signal atsubstantially the same frequency as the concentric ring acquisitiontarget. Another system teaching concentric ring detector of this natureis taught by Shaw in U.S. patent application Ser. No. 07/728,219, filedJul. 11, 1991.

The system set forth in Chandler solves many of the problems of theprior art systems by providing very high data density as well as areliable system for target acquisition. However, in addition to theproblem of false detects due to the one-dimensional scan, a relativelyhigh resolution scanning of this label is required in order to acquirethe target as well as to decode the high density data. An opticalscanning system capable of scanning the higher density data of the codeswhich solve the density problems of bar codes may therefore be morecomplex and costly than a system which is adapted to merely acquire alow resolution target.

Thus it is often necessary for optical scanning systems to acquire atarget under very difficult circumstances. The target acquired mayappear at different locations within the scanning field and may bemoving rapidly. In addition to these problems the acquisition target maybe disposed at varying distances from the optical scanning device. Forexample, labels on moving objects may be scanned at varying distancesfrom the scanning device because of varying package sizes. Thisintroduces magnification into the sampled sequence acquisition target.The closer the acquisition target is to the scanning device, the largerit appears and the lower the frequency of the sampled sequence. Largerscanning distances produce higher frequencies. Detection of the varyingfrequencies caused by varying amounts of magnification can be difficultsince digital filters with adjustable poles and zeros may be expensiveand complicated. Additionally the varying distance introduces the needfor focussing in order to accurately scan the acquisition target.

There are two common solutions to these problems known in the prior art.One common solution to the focusing problem known in the prior art isusing a depth of focus sufficient to permit detection of acquisitiontargets at varying distances from the optical scanning device. Anothercommon solution to the magnification problem is fixing the distancebetween the optical scanning device and the acquisition target in orderto prevent magnification.

Prior art references teaching the use of a large depth of focus in orderto avoid focusing problems include: U.S. Pat. No. 4,544,064, entitled"Distribution Installation for Moving Piece Goods", issued to Felder;U.S. Pat. No. 3,801,775, entitled "Method and Apparatus for IdentifyingObjects", issued to Acker; U.S. Pat. No. 3,550,770, entitled "Method forAutomatic Sorting or Recording of Objects and Apparatus for Carrying Outthe Method", issued to Lund, and U.S. Pat. No. 4,454,610, entitled"Methods and Apparatus for the Automatic Classification of Patterns,"issued to Sziklai.

One example of a reference teaching a fixed distance between theacquisition target and the optical scanning device include: U.S. Pat.No. 3,971,917, entitled "Labels and Label Readers", issued to Maddox etal Another reference teaching this is U.S. Pat. No. 3,757,090, entitled"Mechanical Reading and Recognition of Information Displayed onInformation Carriers", issued to Haefeli, et al.

A solution to both the focusing problem and the magnification problem isadjusting the distance between the acquisition target and the opticalscanning device. U.S. Pat. No. 4,776,464, issued to Miller, teaches thistype of adjustment. However, this method is mechanically difficult for alarge number of quickly moving and closely spaced moving objects ofwidely varying heights. Additionally, the system taught by Shaw taughtin U.S. patent application Ser. No. 07/728,219 teaches a similarsolution to this problem.

SUMMARY OF THE INVENTION

The multiple code camera system of the present invention maysimultaneously search for a number of different optical codes. Upondetecting an optical code it decodes according to the appropriatedecoding algorithm. These codes may include information-encodedpolygons, differing bar codes, and optical character recognition codes.The multiple code camera system is provided with a parallel decodingarchitecture which allows it to search for several codes simultaneously.The system is interconnected with two different data buses whichfacilitate the parallel operation. These two buses are: (1) a system buslinking the components of the multiple code camera system, and (2) apixel bus connecting an analog-to-digital convertor from the opticalscanning device to a number of different code detection boards.

Some of the different code detection boards which have already beeninstalled in the system include: An interface board, coupled to thepixel bus, which contains logic for bar code predetection. A concentricring detector, also coupled to the pixel bus, which performs analgorithm for detecting concentric ring targets. And for example, ifoptical character recognition is to be performed, an optical characterrecognition device can also be coupled to the pixel bus. Further codedetectors can also be inserted into this architecture in order tosimultaneously monitor the pixel bus and detect additional types ofcode. All of the processing of the simultaneous code detectors isperformed in parallel with the system functions do to the parallelarchitecture of the multiple code camera system of the presentinvention. For example height sensing is performed by the systemprocessor in parallel with the various code detection algorithms.

Within the concentric ring acquisition target detector the data from theoptical scanning device is arranged to form two-dimensional arraysrepresentative of two-dimensional scanned regions through which theacquisition target passes. The resulting two-dimensional arrays ofscanned data are correlated with selected correlation templates, whereineach correlation template represents an image of the concentric ringacquisition target at a predetermined height above the belt. This methodmay be applied to images undergoing any type of transform in addition tomagnification provided that the transformed images may be represented astemplate images for correlation and identification. For example, animage may be identified if it is transformed by warping, by rotating orby positioning at varying angles or rotations with respect to thescanning device.

The optical scanning device is clocked at a rate representative of thespeed of the target to provide a constant number of scans per targetregardless of the distance of the target from the optical scanningdevice. Thus the correlation templates are elliptical rather than roundwhen they represent magnified images because magnification occurs onlyalong the axis perpendicular to the direction of travel. The correctcorrelation templates are determined according to amount ofmagnification or warping, or the angle. The determined template is thenplaced into the two-dimensional correlators.

Within the ring detector differing stages are clocked at differingrates. However, it is necessary to provide constant throughput throughthe detector. This is achieved by interleaving the data andsimultaneously performing independent processing on a current frame anda previous frame at stages of the detector.

The camera system does not require optical calibration adjustments. Thisis achieved by using extremely close tolerances in machining the housingfor all holes used for mounting mirrors and other optical elements. Thusthese elements can be secured at exactly the correct location when thecamera system is assembled. Additionally, extremely close toleranceribbing is provided so that when the reflector of the camera system isresiliently secured against the ribbing it maintains its correctelliptical shape. The illumination source of the multiple code camerasystem and the conveyor belt are disposed upon respective loci of anellipse wherein the resiliently secured reflector above the illuminationsource is adapted to follow the shape of the ellipse.

In the camera system of the present invention the scanning rate of theoptical scanning device is controlled by the belt speed. The belt speedis applied to scanning device via the encoder output. Because the scanrate is controlled according to the belt speed, at lower belt speeds theamount of integration time per scan increases. Thus the illuminationrequirements of the optical scanning device decreases at lower beltspeeds and increases at higher belt speeds. Compensation for the amountof illumination provided by the illumination source as well ascompensation for the integration time is performed by adjusting theamplitude of the entire video signal based on the amplitude of a whitereference.

Two methods for performing the white reference correction are provided.One method for performing the white reference correction is by applyingthe encoder output to a frequency-to-voltage convertor and controllingthe amplitude of the video signal from the optical scanning deviceaccording to the DC level output of this convertor.

Another method for performing the white reference integration uses lighttransmitted by way of fiber optic cables. In this method the fiber opticcables are arranged from each of the bulbs of the illumination source toselected pixels of the optical scanning device. These selected pixelsare dedicated to the white reference integration and therefore are notavailable to represent information encoded upon an optical target.

Preferably separate optical fibers are run from each bulb of theillumination source to prevent bulbs from dominating each other due totheir relative proximity to the sensor. The output signal of thescanning device corresponding to these dedicated pixels is then used tocontrol the white reference integration. The encoder may also be used tocontrol the illumination level of the illumination source. Thus theillumination source may be dimmed when the belt is travelling moreslowly.

The dark reference is based upon the output of a blind cell within theoptical scanning device which is sampled during each scan cycle. Theproblem solved by the dark reference integration is that in the outputof the optical scanning device a small information value may ride upon alarge DC offset. This offset can vary depending upon temperature andaging of the camera system. In the present invention an iterativeintegration is performed for each scan of the optical scanning devicebased upon the output of the dark cell to correct for the offset. Thecamera system of the present invention thus performs continuouslyrepeated integrations to maintain an offset correction on a scan-by-scanbasis.

The multiple code camera system of the present invention is providedwith a real time focusing system. In the real time focusing system anobject height sensor constantly determines the distance from the camerato a surface below it. The camera optics of the multiple code camera areconstantly focused according to this measured distance. In this realtime focusing system, or continuous focus system, a delay between themeasurement of a distance and the control of the camera optics accordingto the measured distance is adjusted according to the speed of theconveyor belt as determined from an encoder output.

The multiple code camera system of the present invention is providedwith a forced air convection cooling circuit for cooling, for example,the electronics of the system. In this cooling circuit air is forcedover the electronic circuits of the camera system, through a bleedchannel, over the system power supply, through a heat exchangecompartment, and back to the electronic circuits. In the heat exchangecompartment, thermal exchange with the exterior of the camera system ispermitted through the skin of the compartment. Additionally, thebleed-through channel between the electronics and the system powersupply is adapted to permit dissipation of some of the system heat fromthe air circulating from the electronic circuits to the power systemsupply.

The camera of the multiple code camera system, the electronic circuits,and the system power supply are disposed in separately sealedcompartments. The sealed electronic circuit compartment and the sealedsystem power supply compartment are in fluid communication with eachother by way of the bleed-through channel. The overall air circuit isalso sealed. Because the overall circuit is sealed, the circulated airis substantially dust free.

There are advantages to disposing a camera system such as the multiplecode camera system of the present invention horizontally rather thanvertically. One important advantage is the ability to stack conveyorbelts above each other more closely when the camera systems are disposedhorizontally. Additionally, horizontally disposed systems are lesssubject to vibration. In the past these systems were always vertical andnatural convection currents could be relied upon for cooling them. Thusit is because of the forced convection that the present system may bedisposed horizontally.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a side view of the multiple code camera system of thepresent invention.

FIG. 2 shows a plan view of the multiple code camera system of FIG. 1.

FIG. 3 shows a side view of an alternate embodiment of the multiple codecamera system of FIG. 1 wherein the alternate embodiment is disposedvertically and cooled by natural convection currents.

FIG. 4 shows a block diagram representation of the data processingarchitecture of the multiple code camera system of FIG. 1 for scanningmoving targets simultaneously for a plurality of differing acquisitiontargets and a plurality of differing codes and acquiring and decodingthe targets.

FIG. 5 shows a more detailed block diagram representation of a portionof the concentric ring acquisition target detector of the parallelarchitecture of FIG. 4.

FIG. 6 shows a more detailed block diagram representation of a portionof the concentric ring acquisition target detector of the parallelarchitecture of FIG. 4.

FIG. 7 shows a more detailed representation of the analog-to-digitalconverter of the parallel architecture of FIG. 4 for receiving andadjustably processing the output of the optical scanning deviceaccording to the speed of the conveyor belt.

FIG. 8 shows a partial view of the multiple code camera system of FIG. 1including fiber optic bundles for transmitting light from theillumination source to the optical scanning device for performing awhite reference integration.

FIG. 9 shows a block diagram representation of a system for controllingthe illumination of the camera system of FIG. 1.

FIG. 10 shows a system for continuously focusing the camera of themultiple code camera system of FIG. 1.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to FIG. 1, there is shown a side view of horizontallydisposed multiple code camera system 10 of the present invention. Withinmultiple code camera system 10 optically readable information-encodedlabel 44 is disposed upon moving package 42 which is transported byconveyor belt 20. As information-encoded label 44 is thus transportedpast camera axis 33, it is scanned by camera 50 of multiple code camerasystem 10 to provide electrical signals representative of lightreflected off label 44. It will be understood that the light reflectedoff optically readable label 44 represents the information which isencoded in label 44.

Illumination of optically readable information-encoded label 44 withinmultiple code camera system 10 is provided by adjustable illuminationsystem 12. Adjustable illumination system 12 includes a plurality ofillumination sources 15 or bulbs 15 each disposed within reflector box13 and controlled by an individual power supply 16. Each individualpower supply 16 may be separately controlled in a conventional manner inorder to control the light energy provided by its correspondingillumination source 15.

Adjustable illumination system 12 of camera system 10 is also providedwith elliptical reflector 14 within reflector box 13. Ellipticalreflector 14 is conformed to the shape of a portion of illuminationellipse 18 by ribs 11 and thereby defines illumination ellipse 18.Elliptical reflector 14 is adapted to reflect light energy emitted fromillumination sources 15 onto optically readable label 44 disposed aboveconveyor belt 20. Illumination sources 15 and conveyor belt 20 aredisposed upon focuses 22, 24 of illumination ellipse 18, respectively.

Light emitted by illumination sources 15 and reflected from movingpackage 42, information-encoded label 44, and conveyor belt 20 isreceived by mirror box 31 by way of optical aperture 27. Light receivedby way of optical aperture 27 is folded by three mirrors 26 to providefolded optical path 30 within mirror box 31. The position of brackets28, for example on mirror box walls 25, 29, are determined to very closetolerances. Thus the positions of mirrors 26 may be precisely determinedthereby eliminating the need for calibration by the fixed optics ofcamera system 10. The increased total optical path length provided byfolded optical path 30 makes multiple code camera system 10 lesssensitive to the height of moving packages 42 above conveyor belt 20 asis well understood by those skilled in the art.

Horizontally disposed multiple code camera system 10 is provided withsealed forced air convection cooling system 37 for cooling theelectronics (not shown) and the system power supply (not shown) ofcamera system 10. Sealed forced air convection cooling system 37includes impeller 34 for drawing hot air into heat exchange compartment36 by way of heat exchange inlet 39 and forcing cooled air from heatexchanger compartment 36 by way of heat exchange outlet 38. Air iscooled within heat exchange compartment 36 by thermal exchange with theenvironment external to heat exchange compartment 36 through the skin ofcompartment 36. The cooled air expelled from compartment 36 by way ofheat exchange outlet 38 is used within multiple code camera system 10 tocool both the system electronics and the system power supply.

Referring now to FIG. 2, there is shown a plan view of multiple codecamera system 10 of the present invention. Multiple code camera system10 is provided with three separately sealed compartments 40a,b,c.Separately sealed compartment 40a houses the system electronics ofcamera system 10 and separately sealed compartment 40c houses the systempower supply of camera system 10. Thus, the components within sealedcompartments 40a,c are the components which must be cooled by forced airconvection cooling system 37. Separately sealed compartment 40b housescamera 50, which does not require cooling within multiple code camerasystem 10. The positioning of the system electronics of compartment 40aand camera 50 of compartment 40b substantially close to each otherwithin the same housing of camera system 10 permits very short cablesbetween camera 50 and the electronics of compartment 40a. This resultsin better noise immunity within camera system 10.

In forced air convection cooling system 37 cooled air expelled from heatexchange outlet 38 is directed to separately sealed compartment 40a byway of an opening through the floor of compartment 40a. Cooled air fromoutlet 38 is then forced across the circuit boards (not shown) withinseparately sealed compartment 40a in order to cool the electroniccircuitry of camera system 10. After passing over the circuit boards ofsealed compartment 40a air exits sealed compartment 40a by way of inlet46 of bleed-through channel 42. Bleed through channel 42 extends fromelectronics compartment 40a to system power supply compartment 40c andserves as a conduit therebetween.

Bleed-through channel 42 of convection cooling system 37 is adapted topartially cool air which has been warmed by contact with the electronicsof separately sealed compartment 40a as the air is conducted tocompartment 40c. This partial cooling is achieved by permittingdissipation of thermal energy through the skin of bleed-through channel42 to the environment external to multiple code camera system 10.

Partially cooled air from bleed-through channel 42 is then applied byway of channel outlet 48 to separately sealed compartment 40c whichcontains the system power supply (not shown) of multiple code camerasystem 10. This partially cooled air is effective to cool the powersupply as it flows over the power supply toward heat exchange inlet 36.The warmed air from separately sealed compartment 40c is then cooledwithin heat exchange compartment 36 of convection cooling system 37.This forced convection circuit is then repeated when the cooled air isdirected back to sealed compartment 40a by impeller 34.

As previously described, illumination sources 15 and conveyor belt 20are disposed upon focuses 22, 24 of illumination ellipse 18,respectively. Light emitted from illumination sources 15 in an upwarddirection reflects off elliptical reflector 14 and is directed byelliptical reflector 14 in a substantially downward direction. It willbe understood by those skilled in the art that light reflected in thismanner by elliptical reflector 14 is focused substantially in thedirection of focus 24. It will also be understood by those skilled inthe art that light emitted from focus 22 at any angle would be reflectedto focus 24 if elliptical reflector 14 is extended over the entirecircumference of illumination ellipse 18. Thus, the shape of ellipticalreflector 14 optimizes the amount of light energy emitted fromillumination sources 15 which arrives at focus 24.

In order to define illumination ellipse 18 reflector 14 is resilientlydisposed against ribs 11 within reflector box 13. It will be understoodthat if ribs 11 are produced with very close tolerances to defineellipse 18 that calibration of reflector 14 is not needed. Reflector 14is merely bent, inserted against ribs 11, and caused to resilientlyconform to the shape of ribs 11 when released.

Referring now to FIG. 3, there is shown vertically disposed multiplecode camera system 100. Vertically disposed multiple code camera system100 is an alternate embodiment of horizontally disposed multiple codecamera system 10. Alternate embodiment camera system 100 is adapted tobe disposed in a vertical position rather than in a horizontal positionwhile scanning conveyor belt 20 for information-encoded label 44disposed upon moving package 42. Vertically disposed camera system 100is cooled by natural convection currents rather than the forcedconvection currents provided by forced air cooling system 37 for coolingthe components of horizontally disposed camera system 10. Cooling system37 of camera system 10 is effective to permit camera system 10 tofunction properly when disposed horizontally because it moves the airwithin camera system 10 to provide the cooling which is provided withinvertically disposed multiple code camera system 100 by naturalconvection currents.

Thus, it will be understood by those skilled in the art that it is theforced air of convection cooling system 37 which permits multiple codecamera system 10 to be disposed horizontally. Horizontally disposedcamera system 10 is therefore adapted to be used more advantageously inapplications where conveyor belts 20 are stacked above each other andcamera system 10 must be positioned between conveyor belts 20.Additionally, in applications in which other items are disposedproximately above or below conveyor belt 20 preventing enough verticalspace for vertically disposed camera system 100 it is advantageous touse horizontal camera system 10.

Furthermore horizontal positioning of multiple code camera system 10permits camera system 10 to be used in environments which are subject tomore vibration because vertically disposed systems such as camera system100 are more sensitive to the vibration. However, it will be understoodthat when conditions requiring horizontal placement of a camera systemare not present, the natural convection cooling of horizontally disposedcamera system 100 is sufficient to dissipate the thermal energy ofcamera system 100 thereby eliminating the need for forced air convectioncooling system 37.

Referring now to FIG. 4, there is shown parallel video processorarchitecture 150 of multiple code camera systems 10, 100. Parallel videoprocessor architecture 150 includes system processor 160, bar codeinterface processor 174, concentric ring detector processor 180, imageprocessor 190, and digital signal processor 194, all coupled to the sameprocessor system bus 170. It will be understood by those skilled in theart that coupling this plurality of processors 160, 174, 180, 190 and194 processor to system bus 170 permits simultaneous processing of thesystem functions of camera systems 10, 100 as well as the videoprocessing and target detection functions within parallel architecture150. The system functions of multiple code camera systems 10, 100include such functions as the processing of the height information ofmoving packages 42 upon conveyor belt 20.

Additionally, parallel video processor architecture 150 of camerasystems 10, 100 is provided with pixel bus 172 which transmits imagedata. Pixel bus 172 applies the output data of optical scanning device154, received by way of analog-to-digital convertor 166, to both barcode interface 174 and concentric ring detector 180. Because of the useof bus 172, both bar code interface 174 and concentric ring detector 180may simultaneously operate upon the pixel data provided by opticalscanning device 154 as optical scanning device 154 scans moving packages42. Thus targets with both rectangular configurations and circularconfigurations may be searched for simultaneously.

The use of bar code interface 174 and concentric ring detector 180,coupled in this manner to pixel data bus 172, permits parallelarchitecture 150 of multiple code camera systems 10, 100 tosimultaneously search for both bar codes and concentric rings.Additionally, optical character recognition system 182, or any furtherconventional code or target detection system, may be simultaneouslycoupled to pixel data bus 172 to permit simultaneous searching foradditional types of information-encoded symbols or targetconfigurations. It will be understood that if optical characterrecognition system 182 is applied to parallel architecture 150, system182 may operate independently of image processor 190 and digital signalprocessor 194.

When bar code interface 174 or concentric ring target detector 180detects, respectively, a bar code or concentric rings as a result of thesimultaneous searching of the pixel data within parallel architecture150, it provides a respective detect signal. It will be understood thata detect signal provided by bar code interface 174 indicates apre-recognition of a bar code disposed upon information-encoded label44. It will also be understood that a detect provided by concentric ringdetector 180 indicates the preliminary detection of concentric ringsdisposed on information-encoded label 44.

In response to a detect signal from either interface 174 or detector180, video image processor 190 and input/output digital signal processor194 proceed with further processing of the detected symbol. This furtherprocessing occurs simultaneously with the processing of normal systemfunctions by system processor 160. Thus it will be understood thatdigital signal processor 194 is not adapted to function as aco-processor for system processor 160.

In a similar manner, optical character recognition system 182 maymonitor the pixel data of pixel data bus 172 simultaneously with theprocessing of bar code interface 174 and concentric ring detector 180.Thus optical character recognition system 182 may search for opticalcharacters in parallel with the search for bar codes and concentric ringacquisition targets which may be disposed upon information-encodedlabels 44. A separate detect signal may be provided by system 182 whenan optical character is scanned by optical scanning device 154.

With respect to the system functions of parallel video processorarchitecture 150 it will be understood by those skilled in the art thatsystem processor 160 is effective to coordinate and control allprocessing activities within parallel architecture 150. System processor160 is also effective to control the interfacing with other peripherals(not shown) which may be coupled to camera systems 10, 100. The systemfunctions performed by system processor 160 may include, but are notlimited to, coordination of the focusing of camera 50, belt encoder 152,the height sensing operations associated with packages 42, as well asthe coordination of analog-to-digital convertor 166, concentric ringdetector 180, input/output digital signal processor 194 and imageprocessor 190.

It will be understood that system processor 160 of parallel architecture150 is also responsible for the data processing associated with themovement of packages 42. This package data processing by systemprocessor 160 includes coordinating the leading and trailing edges ofmoving packages 42 with detected labels 44. It also includes controllingthe movement of diverters (not shown) of a conveyor system whereinmultiple code camera system 10 is applied. Additionally, systemprocessor 160 may track system performance, log data and provide siteconfiguration of the reader front end electronics. For example, heightsof moving packages 42 may be recorded within the system functionsperformed by system processor 160 for the purpose of assigning labels 44to moving objects 42 and determining points for diverter operation.

When signal processor 160 identifies moving packages 42 or other objects42 on conveyor belt 20 using, for example, height sensing data, theobjects 42 are recorded in an object cue within local memory 162 ofsystem processor 160. Simultaneously, images of information-encodedlabels 44 disposed upon packages 42 are stored in a label cue in localmemory 191 of image processor 190. Digital signal processor 194 thenprovides an interrupt signal corresponding to each new opticallyreadable label 44 scanned by optical scanning device 154 and itsposition on conveyor belt 20. When this interrupt is received by systemprocessor 160 of parallel architecture 150, system processor 160 relateseach label 44 to its package 42 based upon its position on conveyor belt20. When image processor 190 completes processing and system processor160 does final error correction, the decoding of the resulting labelmessage is entered in the package cue.

Simultaneous with the performance of these system functions by systemprocessor 160 images processor 190 performs the functions required forprocessing the images scanned by optical scanning device 154. Imageprocessor 190 may perform such functions as fast Fourier transforms andinverse fast Fourier transforms for the detection of concentric ringacquisition targets. Image processor 190 may also serve as a processorfor converting a label image into a stream of symbol element colorstates. Other functions of image processor 190 include edge enhancement,removal of concentric rings from label images and the determination ofthe orientation of labels 44. The control of data to and from imageprocessor 190 is performed by system processor 160 as previouslydescribed.

Concentric ring detector 180 of parallel video processor architecture 50converts and buffers the video data of pixel data bus 172 and theconcentric ring detect signals. These signals are transmitted tointerface 174 via bus 172. The interface 174 computes the coordinates ofconcentric rings and transmits to I/O digital signal processor 194 viabus 196. Digital signal processor 194 then locates images of actualinformation-encoded labels 44 amidst the video scan data at possibleconcentric ring locations after pre-recognition of the rings.

Parallel input/output block 164 of parallel video processor architecture150 includes a large number of parallel input/output bits (not shown)and programmable timers (not shown). Belt encoder 152 applies a signalrepresenting the speed of conveyor belt 20 to block 164 by way of line153 and clocks two timers within parallel input/output block 164. One ofthese two timers is used to track the absolute position of conveyor belt20. The other timer of block 164 clocked by belt speed encoder 152 isused to generate an interrupt when a predetermined length of conveyorbelt 20 has passed. The ability of parallel input/output block 164 toprovide interrupts in accordance with the output of belt speed encoder152 permits parallel architecture 150 to compensate for the speed ofconveyor belt 20.

When the presence of a concentric ring acquisition target within theregion scanned by camera systems 10, 100 is indicated an interrupt isprovided. This interrupt causes a block copy of the corresponding imageof information-encoded label 44 to image processor 190. The image isthen converted within image processor 190 into simple element colorstates and the results are transmitted to system processor 160 by way ofsystem bus 170. The label data received by system processor 160 ismatched to a particular package 42 disposed upon conveyor belt 20 andthe symbol elements representative of label 44 upon package 42 areconverted into label information. For example, this label informationmay be an address or a zip code for packages 42.

When the interrupt signals occur, scaled images of information-encodedlabels 44 are copied within parallel video processor architecture 150from digital signal processor 194 to image processor 190. Processing ofimages within image processor 190 begins when one full unprocessed labelimage is formed within image processor 190. When the image processing iscomplete, image processor 190 writes the results to a temporary storagecue and informs system processor 160 by means of an interrupt.

Processing by image processor 190 results in a map of label symbolelements wherein each element is assigned a bit value. Additionally, apixel map of the image originally presented to image processor 190 maybe provided. Image processor 190 may also provide, for example, windowedimages, enhanced images, frequency domain images, bright pointcoordinates, selected orientation, clock image and representations ofthe coordinates of each symbol element center.

Image processor 190 and input/output digital signal processor 194 arecoupled to each other, and to interface 174, by way of image bus 196.Image bus 196 is a high speed data path of the kind known to thoseskilled in the art of circuitry for the processing of video images, suchas image processor 190. It is by way of image bus 196 that interfaceboard 174 applies a black and white version, or raw image, to imageprocessor 190 in a compressed format.

Additionally, low pass filtering is performed on interface board 174 forclumping white points together with each other and clumping black pointstogether with each other. The clumped points are applied to imageprocessor 190 for bar code detection by way of image bus 196. It will beunderstood that a detect of concentric rings by interface board 174 justprovide a flag and does not produce the exact coordinates of the centerof the concentric rings. Finding the exact coordinates of the center isperformed by image processor 190 after the data is applied by interface174 to image processor 190 by way of image bus 194.

Referring now to FIGS. 5, 6, there is shown a more detailedrepresentation of concentric ring target detector 180 of parallel videoprocessor architecture 150 within multiple code camera systems 10, 100.Concentric ring target detector 180 receives input pixel data fromoptical scanning device 154 on input lines 200, 202 by way ofanalog-to-digital convertor 166 and pixel data bus 172. The pixel datareceived from scanning device 154 by way of convertor 166 and bus 172are representative of images of conveyor belt 20 and moving objects 42bearing information-encoded labels 44 which are advanced by conveyorbelt 20.

The input pixel data is applied, alternately, to first-in first-outblock 204 and first-in first-out block 206 by way of both odd pixelinput line 200 and even pixel input line 202. This alternate writing ofpixels into first-in first-out blocks 202, 204 is performed under thecontrol of write control line 218 of first-in first-out block 204 andwrite control line 222 of first-in first-out block 206. Write controllines 218, 222 are alternately active one-half of the time duringoperation of concentric ring detector 180.

Thus, both odd and even pixels are simultaneously applied to first-infirst-out block 204 during one half of the time that detector 180 is inoperation by way of detector input lines 200, 202. During the other halfof the operation, both odd pixels and even pixels are simultaneouslyapplied to first-in first-out block 206 by detector input lines 200,202.

It will therefore be understood that during the write operations ofconcentric ring detector 180, the pixels received by each first-infirst-out block 204, 206 include both odd pixels, by way of input line200, and even pixels, by way of input line 202. In this manner detectorinput lines 200, 202 both constantly supply pixel data to one or theother of the two blocks 204, 206 within concentric ring detector 180.Input lines 200, 202 both apply pixels to block 204 when write controlline 218 is active (during odd scan lines) and input lines 200, 202 bothapply pixels to block 206 when write control line 222 is active (duringeven scan lines).

Thus block 204 contains both the odd pixels and the even pixels of acurrent scan line N and block 206 contains both the odd pixels and theeven pixels of a previous scan line N-1. The pixels thus received byfirst-in first-out blocks 204, 206 are then applied to multi-tapfirst-in first-out block 228 by way of pixel switching system 225.Therefore, first-in first-out blocks 204, 206 may each receive one-halfof the pixels from digital-to-analog board 166 and apply pixels theirrespective pixels to pixel switching system 225 at one-half the rate atwhich they were received by way of detector input lines 200, 202.

As described the rate at which first-in first-out block 204 applies databy way of current scan lines 208, 210 to pixel switching system 225 isone-half of the rate at which data is applied to first-in first-outblock 204 by way of detector input lines 200, 202. Similarly, the rateat which first-in first-out block 206 applies data to pixel switchingsystem 225 by way of previous scan lines 212, 214 is one half of therate at which data is applied to first-in first-out block 206 by way ofdetector input lines 200, 202.

The transmission of data through each first-in first-out block 204, 206may thus be understood by means of an analogy to filling a fluidcontainer while the fluid container is simultaneously draining atone-half of the filling rate. If two such fluid containers are provided,and each is filled one-half of the time while both drain constantly, thetotal throughput may remain constant without the containers everoverflowing or emptying. The constant rate of the throughput of such afluid system is twice the draining rate of a single one of thecontainers.

Both first-in first-out blocks 204, 206 apply data to pixel switchingsystem 225 the entire time that concentric ring detector 180 isoperating. This constant flow of data from blocks 204, 206 occurs underthe control of read control line 220. It will be understood that, unlikeseparate write control lines 218, 222, single read control line 220 isapplied to both blocks 204, 206 simultaneously. This is done in order topermit both blocks 204, 206 to constantly and simultaneously apply theirdata to pixel switching system 225 even though only one of them isreceiving data at a time. It will also be understood that all four blockoutput lines 208, 210, 212, 214 are constantly active when data isapplied to ring detector system 180.

Because of the conventional design of optical scanning device 154,wherein odd pixels and even pixels are provided separately, first-infirst-out block 204 is adapted to receive odd pixels and even pixelsseparately by way of detector input lines 200, 202. First-in first-outblock 204 then outputs the received pixels separately as odd pixels andeven pixels on lines 208, 210 respectively. Thus, switch 225a of pixelswitching system 225 toggles and alternately receives an odd pixel fromblock output line 208 and an even pixel from block output line 210. Inthis manner, switch 225a of switching system 225 puts the pixels oflines 208, 210 back into serial order for application to multi-tapfirst-in first-out block 228 by way of current scan line 224.

In a similar manner, first-in first-out block 206 provides odd pixels onoutput line 212 and even pixels on output line 214. The odd and evenpixels of lines 212, 214 are alternately received by pixel switchingsystem 225 and put into serial order by the toggling of switch 225b ofpixel switching system 225. The scan data put into serial order byswitch 225 is applied to multi-tap first-in first-out block 228 by wayof current scan line 224 and previous scan line 226. Pixels applied tofirst-in first-out block 228 by way of current scan line 224 andprevious scan line 226 are then shifted through block 228. Output tapsystem 230 of block 228 is provided to permit a read of each pixelwritten to block 228 by way of scan lines 224, 226 on each cycle as thepixels are shifted through block 228.

Output taps 230₀ -230₃₁ of output tap system 230 are applied to templatecorrelator 240 and output taps 230₁ -230₃₂ are applied to templatecorrelator 242. Taps 230₀ -230₃₁ apply a current image frames of apossible concentric ring target to template correlation 240. In asimilar manner taps 230₁ -230₃₂ of output tap system 230 contain theimage frame previous to the current image frame. Thus, two differentimage frames are compared simultaneously, one within template correlator240 and other within template correlator 242 of concentric ring detector180.

As previously described, moving package 42, bearing information-encodedlabel 44, is transported by conveyor belt 20 within camera systems 10,100. Any height sensing device 260 (for example a conventional lightcurtain) may be used to determine the height of moving package 42 and,therefore, the distance between information-encoded label 44 and opticalscanning device 154. The height information from height sensing device260 is applied to height processor 258. Height processor 258 uses thisheight information to select one of a predetermined number of templatesT₁ . . . T_(N) stored in template block 256 of local memory 191 withinimage processor 190.

Templates T₁ . . . T_(N) stored within template block 256 each representan image of a concentric ring acquisition target disposed oninformation-encoded label 44 at one of several predetermined heights asscanned by optical scanning device 154. For example, template T₁ maycorrespond to a scanned image of the concentric ring target at the levelof conveyor belt 20 while template T_(N) may correspond to an image ofconcentric rings at the maximum permitted height of moving package 42.

Thus, in accordance with the height information from height sensor 258,a selected template T_(i) corresponding to the height of moving package42 sensed by height sensor 260 is retrieved by template selector 254.The selected template T_(i) is then applied to both template correlators240, 242 by way of common template correlation line 252. In this manner,both a current scan of scanning device 154 and a previous scan arecorrelated with the selected template T_(i) simultaneously withinconcentric ring detector 180. If either template correlator 240 ortemplate correlator 242 achieves above a predetermined correlationthreshold, a detection signal as applied to gate 248 by way of eithercorrelator output line 244 or correlator output line 246. When acorrelation signal is applied to gate 248 by way of either line 244 orline 246, detection signal line 250 goes active at a point where thecoordinates of the center of the concentric rings disposed oninformation-enclosed label 44 can be determined.

Referring now to FIG. 7, there is shown a more detailed representationof analog-to-digital convertor 166 of parallel video processorarchitecture 150. The pixel data video signal from optical scanningdevice 154 is applied to analog-to-digital convertor 166 by videoscanner output line 168. The video information received byanalog-to-digital convertor 166 is applied to ideal diode 300 by way ofsummation circuit 280. The output of ideal diode 300 is applied toanalog-to-digital block 304 which converts the analog signal output ofideal diode 300 to a digital signal. This digital signal output isapplied to pixel decoding bus 172 by way of convertor output line 310.

In addition to the analog-to-digital conversion performed byanalog-to-digital block 304 within convertor 166, a dark level or DCoffset correction and a white level or gain correction are performedwithin convertor 166 upon the pixel data received from optical scanningdevice 154. These two corrections eliminate the need for severalcalibrations within multiple code camera systems 10, 100. Thecalibrations eliminated are both those associated with bringing camerasystems 10, 100 on-line and those associated with wear and aging ofcomponents within camera systems 10, 100.

The dark level or DC offset correction integration within converter 166is performed by dark reference integration loop 340. In dark referenceintegration loop 340 the output of analog-to-digital convertor block 304is applied back to the input of analog-to-digital convertor block 304 byway of integrator 2984 and summation node 280. The white level or gaincorrection within converter 66 is performed by white referenceintegration feedback loop 360. In light reference integration loop 360the output of analog-to-digital convertor block 304 is applied back tothe input of analog-to-digital convertor block 304 by way of summationnode 314 and integrator 312.

Dark reference integration loop 340 performs a correction for the DCoffset of the video signal provided by optical scanning device 154within camera 50. It will be understood by those skilled in the art thatthe information signals provided to analog-to-digital converter 166 forprocessing may be on the order of twenty millivolts, while the DC offsetmay be on the order of nine volts. Additionally, it will be understoodthat the twenty millivolts of useful information may be only a portionof the signal riding on top of the DC offset. The remaining portionsriding on the offset may correspond to artifacts caused by opticalscanning device 154. Furthermore, these artifacts may be an order ofmagnitude greater than the information signal. This information signalwithin the output of scanning device 154 portion must be extracted foreach one of the video pixels.

The white integration is provided in analog-to-digital convertor 160because the high speed of moving objects 44 does not permit very muchtime for the light from illumination system 12 of camera system 10 toaccumulate charge within optical scanning device 154 of camera 50. Thusthe signal output on scanner output line 168 of camera 50 has a smalldifference between a pixel corresponding to the brightest spot scannedby camera 50 and a pixel corresponding to the darkest spot scanned bycamera 50. This small difference is amplitude requires specialprocessing within convertor 166. Additionally, the amplitude of signalsfrom optical scanning device 154 corresponding to a constant amount oflight changes with age, component sensitivity and other factors.

In order to permit compensation for the DC offset of the output ofoptical scanning device 154 there is a dark reference pixel whichcorresponds to a dedicated sensor element within device 154. Thededicated sensor element for the dark pixel is not exposed to lightwithin scanning device 154. This dedicated sensor element accumulates acharge based upon factors other than light exposure. For example, thecharge accumulated by this sensor element depends upon thermal effectswithin device 154. A value corresponding to the change accumulated bythis dedicated sensor element is provided at the output of opticalscanning device 154.

Thus, the output of the dedicated sensor element corresponding to thedark pixel may be used to set the black level within camera systems 10,100 by clamping the signal of video output line 168 to the output ofthat element. This may be used to null the DC offset. When the clampedsignal is applied to ideal diode 300, ideal diode 300 eliminates much ofthe unwanted artifacts from the video signal. The amplitude of theremaining signal corresponds to the brightness of the pixels of scanningdevice 154.

When the dark pixel is applied to multiplier 302, it is known when theblack pixel will appear at the output of multiplier 302. When the blackpixel appears at the output of multiplier 302 and it is converted to adigital signal by convertor 304, digital-to-analog convertor block 290is triggered. Thus, the output of digital-to-analog convertor block 290is an analog representation of the output of the dark pixels of opticalscanning device 154. This output is applied to dark level integrator 284by way of lines 286, 288. Dark level integrator 284 then provides a DCoffset adjust signal in accordance with the output of the dark pixel.This DC offset adjust signal is applied by integration output line 282to summation node 280 in order to clamp the signal from optical scanningdevice 154 on scanner output line 168 such that the DC offset is zero.

Within analog-to-digital converter 166 the operations of dark referenceintegration feedback loop 340 are repeated for each scan of opticalscanning device 154. Thus, during each scan cycle, the correspondingdark pixel is used to iteratively readjust the DC offset correction bymeans of summation node 280 or offset correction node 280 in accordancewith the output of dark level integrator 284.

In addition to the dark reference pixel provided by optical scanningdevice 154 during each scan, a white reference pixel is provided duringeach scan of optical scanning device 154 in order to compensate thewhiteness of the image or amplitude of the signal. It will be understoodby those skilled in the art that this is necessary because as the speedof conveyor belt 20 increases and the scan rate of optical scanningdevice 154 increases there is less time for charge to accumulate withinoptical scanning device 154. This results in a correspondingly lowerinformation amplitude within the video output signal of line 168.Additionally, the user of camera systems 10, 100 may adjust acalibration trimpot (not shown) in order to set a voltage level which isinjected into optical scanning device 154 as a white reference pixel.White feedback loop 360 of analog-to-digital converter 166 iterativelycorrects for the changing speed and the setting of the trimpot.

When the white reference pixel is applied to analog-to-digital block304, digital-to-analog block 316 is triggered. This causes an analogrepresentation of the level of the white reference pixel to be appliedto summation node 314 by way of lines 326, 328 of block 316. The outputof summation node 314 may thus be used for the purpose of providingwhite reference feedback to the input of analog-to-digital block 304 byway of multiplier 302.

In addition to the analog representation of the amplitude of the whitereference pixel of optical scanning device 154, summation node 314 isalso acted upon by frequency-to-voltage convertor 324 by way of lines318, 320. It will be understood by those skilled in the art thatvariations in the speed of conveyor belt 20 result in signals of varyingfrequency at the output of belt encoder 152. In order to compensate forthe resulting changes output amplitude from optical scanning device 154the variable frequency output of belt encoder 152 is applied tofrequency-to-voltage convertor 324 by way of encoder output line 153.

Thus, a signal representative of both the white reference pixel and thespeed of conveyor belt 20 is applied by summation node 314 to whitereference integrator 312. White reference integration feedback loop 360containing white reference integrator 312 thus may provide an integratedfeedback control signal wherein control of integrator 312 is providedaccording to the current amplitude of the white reference and the speedof conveyor belt 20. This control signal is applied to analog-to-digitalblock 304 in combination with the input signal and dark referencefeedback signal.

In addition to the analog signals provided by digital-to-analog blocks290, 316, a third analog output signal corresponding to the output ofanalog-to-digital block 304 is provided within converter 166. This thirdanalog signal appears at the output of digital-to-analog block 330. Theanalog output signal of digital-to-analog block 330 is provided withinanalog-to-digital convertor 166 for the purpose of assisting in thedetection of concentric ring acquisition targets which may be present oninformation encoded labels 44.

Thus, the output of digital-to-analog block 330, possibly includingelectrical signals representing a scanned concentric ring target onlabel 44, is applied to bandpass filter 332. Bandpass filter 332 ofconvertor 166 is adapted to pass the frequencies corresponding to a scanof concentric rings by optical scanning device 154. It will beunderstood that concentric rings at varying distances from opticalscanning device 154 are imaged by device 154 with varying amounts ofmagnification. Thus the corner frequencies of bandpass filter 332 areselected to be those frequencies corresponding to a scan of a targetlabel 44 at the level of conveyor belt 20 and a scan of a target at themaximum height of object 42. Other filtering techniques will be known tothose skilled in the art.

The output signal of bandpass filter 332 is applied to thresholdcomparator 334 which is a one bit analog-to-digital conversion,converting all positive signals to one value and all negative signals toanother value. The output of threshold comparator 334 in the preferredembodiment of converter 166 is a substantially binary value which isapplied to concentric target detector 180 by way of bus 172. Concentrictarget detector 180 uses this signal to assist in the detection of aconcentric ring acquisition target passing through the field scanned byoptical scanning device 154. This signal is usually effective to locatea concentric ring acquisition target to within ±2 pixels.

Referring now to FIG. 8, there is shown white reference feedback system400 which is used in an alternate embodiment of white referenceintegration feedback loop 360. White reference feedback system 400 maybe used within multiple code camera systems 10, 100 to adjust the whitereference seen by integrator 312 within analog-to-digital convection 166in place of belt speed encoder 152. Additionally however, whitereference feedback system 400 may be used to control the amount ofillumination provided by illumination sources 15 of illumination system12 within camera systems 10, 100.

In white reference feedback system 400, a plurality of fiber opticbundles 402 are applied to illumination system 12. Light receiving endsof fiber optic bundles 402 are disposed in the vicinity of eachillumination source 15. Light received from each source 15 by respectivefiber optic bundles 402 is transmitted by bundles 402 to opticalscanning device 154. In order to apply the transmitted light to opticalscanning device 154 the light emitting ends of fiber optic bundles 402are disposed in mirror box 31 substantially close to optical scanningdevice 154. Thus the transmitted light from each illumination source 15is applied substantially directly to predetermined pixels of opticalscanning device 154 within camera 50.

The predetermined target pixels of optical scanning device 152 receivingthe transmitted light from the light emitting ends of fiber opticbundles 402 are dedicated as white references for white reference system400 used within camera systems 10, 100. Therefore these dedicated pixelsare not available to represent information encoded upon label 44 whenscanning device 154 reads label 44. The predetermined target pixels may,for example, be the twenty pixels at an end of a scanner having 4,096pixels within optical scanning device 154. Because individual opticalbundles 402 are provided for each illumination source 15 or bulb 15 ofillumination system 12, each bulb 15 is prevented from dominating otherbulbs 15 due to relative proximity to a common light intensity sensor.

The output signal of pixel data from optical scanning device 154corresponding to these dedicated pixels may then be used withinanalog-to-digital converter 166 of parallel architecture 150 to performthe white reference correction of feedback loop 360 as previouslydescribed. In this embodiment the light transmitted directly fromillumination sources 15 is used to control the integration performed bywhite integrator 312 in substantially the same manner as that describedwith respect to the output signal belt encoder 152 on encoder outputline 155. It will therefore be understood by those skilled in the artthat white integrator 312 may be controlled either in accordance withthe light output of bulbs 15 transmitted by fiber optic bundles 402 orin accordance with the speed of conveyor belt 20 as indicated by theoutput of belt encoder 152.

Referring now to FIG. 9, there is shown adaptive illumination controlsystem 450. In adaptive illumination control system 450, light sensor452 senses the amount of light energy emitted by illumination source 15.Light sensor 452 applies a feedback system to lamp power supply 16according to the sensed light energy. Lamp power supply 16 varies theamount of light energy emitted by illumination source 15 by varying theamount of power applied to illumination source 15.

The amount of power applied by lamp power supply 15 within controlsystem 450 is also controlled according to the speed of conveyor belt 20as indicated by the frequency of the output of belt speed encoder 15.The output of belt speed encoder 152 is applied to frequency to voltageconvertor 324 as previously described in order to provide a controlvoltage for lamp power supply 16.

Thus in illumination control system 450 control of lamp power supply 16by belt speed encoder 152 is conditioned by the feedback to lamp powersupply 16 from light sensor 452. The feedback from light sensor 452 maybe obtained in accordance with reference feedback system 400 whereinfiber optic bundles 402 transmit light energy from illumination sources15 to optical scanning device 154 and the output of optical scanningdevice 154 is used to control sources 15 by system processor.

Referring now to FIG. 10, there is shown continuous focus system 500.Continuous focus system 500 may be used to continuously focus camera 50of multiple code camera systems 10, 100 in real time. Within focusingsystem 500 the scanning distance between camera 50 and a surface belowcamera 50 is constantly measured by distance sensor system 506. Distancesensor system 506 is preferably adapted to measure the distance fromcamera 50 downward to conveyor belt 20 or to the top surface of movingobject 42 disposed upon conveyor belt 20.

It will be understood that distance sensor system 506 of continuousfocus system 500 may be any conventional sensor system such as anultrasonic system or an infrared system. Since each ultrasonic distancesensor system 506 may cover, for example, an area of conveyor belt 20having a diameter of approximately seven inches, several ultrasonicsensors 506 aligned across conveyor belt 20 are required within camerasystems 10, 100. Those skilled in the art will understand thatultrasonic sensors are more sensitive to the angle ofinformation-encoded labels 44 in this type of applications.

In continuous focus system 500, distance sensor system 506 emits pulsesof, for example, soundwaves 504 in the direction of conveyor belt 20.Soundwaves 504 reflect from the surface of conveyor belt 20 or the topsurface of moving object 42 and returning soundwaves 502 travel back tosensor system 506. The pulses of soundwaves 504 of sensor system 506 areinitiated by mod 508 according to a trigger signal applied to mod 508 byway of trigger line 510. The trigger signal of trigger line 510 iscontrolled according to the output frequency of belt speed encoder 152by way of encoder output line 153. Thus the timing of the pulses ofsoundwaves 504 is controlled according to the speed of conveyor belt 20.

It will be understood by those skilled in the art that the amount oftime which elapses between the launching of a pulse of soundwaves 504and the reception of corresponding return soundwaves 502 depends on thedistance between sensor system 506 and a surface below it. Thus inaddition to emitting soundwaves 504 mod 508 also detects the occurrenceof a return soundwaves 502 and provides an echo signal on line 512.

Counter/timer 520 of continuous focus system 500 starts counting when atrigger signal is applied to mod 508 by way of trigger line 510 inaccordance with encoder 152 thereby initiating a pulse of soundwaves504. Counter/timer 520 also receives the echo signal of line 512 frommod 508 when sensor system 506 receives return soundwaves 502.Counter/timer 520 is adapted to begin timing when trigger signal 510 isreceived and stop counting when echo signal 512 is received. Thereforethe count within counter 520 is representative of the time required fora signal to travel from sensor system 506, bounce off a surface, andreturn to system sensor 506. Thus, the count within counter 520 isrepresentative of the distance between sensor 506 and the surface.Therefore the count within counter 520 is representative of the distancebetween optical scanning device 154 and camera 50 and the surface.

This distance may then be used by a focusing system to control the focusof camera 50 according to the distance between camera 50 and the surfacebeing scanned by camera 50. This focusing may be performed by any mannerknown to those skilled in the art. In particular, this focusing may becontrolled according to the method taught in commonly owned U.S. Pat.No. 5,245,172 entitled "VOICE COIL FOCUSING SYSTEM HAVING AN IMAGERECEPTOR MOUNTED ON A PIVOTALLY-ROTATABLE FRAME", which issued on Sept.14, 1993, which is incorporated by reference herein. In this embodimentof system 500 optical scanning device 154 may travel 0.030 inches underthe control of amplifier 530 in order to focus on labels 44 ranging fromthe level of conveyor belt 20 to thirty-six inches above the level ofbelt 20.

It will be understood that the use of the count in counter 520 to focusthe camera 50 must be delayed according with the distance between cameraaxis 522 and sensor axis 524 as well as the speed of conveyor belt 20.Therefore in order to delay the use of the count data in counter 520 tocontrol the focus of camera 50 in accordance with the speed of conveyorbelt 20, delay element 524 is provided. Delay element 524 may be aconventional first-in first-out block 524 controlled according to theoutput of belt encoder 152. The delayed output of counter 520 at theoutput of delay element 524 is then applied to digital-to-analog block528, filtered and amplified in block 530, and applied to voice coil 532.Voice coil 532 is coupled to optical scanning device 154 by means of rod534 for displacing optical scanning device 154 according to the outputof digital-to-analog convertor 528.

Concentric ring acquisition targets such as those detected by concentricring detector 180 of parallel architecture 150 are taught in U.S. Pat.No. 4,874,936, entitled "Hexagonal Information Encoding Article, Processand System", and U.S. Pat. Nos. 4,896,029 and 4,998,010, entitled"Polygon Information Encoding Article, Process and System", all three ofwhich issued to Chandler and are incorporated by reference herein.Additionally, detection of the concentric ring acquisition target istaught in U.S. patent application Ser. No. 07/728,219, filed Jul. 11,1992, entitled "System And Method For Acquiring An Optical Target" byShaw et al., which is incorporated by reference herein. A method forencoding a concentric ring acquisition target such as that detected byconcentric ring detector 180 with multiple resolution information istaught by Chandler in copending U.S. patent application Ser. No.07/547,755, filed Jul. 2, 1990, which is incorporated by referenceherein.

It will be understood that various changes in the details, materials andarrangements of the parts which have been described and illustrated inorder to explain the nature of this invention may be made by thoseskilled in the art without departing from the principle and scope of theinvention as expressed in the following claims.

I claim:
 1. A system for detecting an optical acquisition target havingan optical scanning device for providing pixel data representing aplurality of scan images, comprising:(a) a first first-in first-outpixel buffer means; (b) a second first-in first-out pixel buffer means;(c) switch means: (d) a multi-tap first-in first-out pixel buffer means;and (e) first and second means for correlating, wherein:the first andsecond first-in first-out pixel buffer means receive alternating linesof odd and even pixels from the optical scanning device, the switchmeans alternately provides odd pixels from each of the first and secondfirst-in first-out pixel buffer means and even pixels from each of thefirst and second first-in first-out pixel buffer means to the multi-tapfirst-in first-out pixel buffer means, the multi-tap first-in first-outpixel buffer means provides a current image frame to the first means forcorrelating and a previous image frame to the second means forcorrelating and the first and second means for correlating can determinewhether the current or previous image frames represent the acquisitiontarget.
 2. The system of claim 1, wherein the first and second first-infirst-out pixel buffer means receive pixels at a first rate and outputpixels at a second rate.
 3. The system of claim 1, wherein the secondrate is one-half of the first rate.
 4. The system of claim 1, whereinthe switch means is a double-pole double-throw switch.
 5. The system ofclaim 1, wherein the switch means rearranges the pixels into serialorder.
 6. The system of claim 1, wherein the receipt of pixels by thefirst and second first-in first-out pixel buffer means is controlled bywrite signals.
 7. The system 1, wherein an output of pixels from thefirst and second first-in first-out pixel buffer means is controlled bya read signal.
 8. The system of claim 1 wherein the first and secondfirst-in first-out pixel buffer means each receive odd and even pixelson different lines and output odd and even pixel on different lines. 9.The system of claim 1, wherein a pixel received by the multi-tapfirst-in first-out buffer means is shifted sequentially to each of thetaps as other pixels are received.
 10. The system of claim 1, whereinthe first and second means for correlating determine whether the currentor previous image frames represent the acquisition target by comparingthem to a template defining an image of the acquisition target.
 11. Thesystem of claim 10, wherein the template is selected according to aheight of an object bearing the optical acquisition target.
 12. Thesystem of claim 1, further comprising:(e) a gate, wherein the gate hasan input coupled to each of the first and second means for correlatingand the corresponding input is activated if the first or second meansfor correlating determines that the current or previous image framerepresents the optical acquisition target.
 13. A method for detecting anoptical acquisition target having an optical scanning device forproviding pixel data representative of a plurality of scan images,comprising:(a) providing a first line of odd and even pixels to a firstfirst-in first-out pixel buffer; (b) providing a second line of odd andeven pixels to a second first-in first-out pixel buffer; (c) alternatelyswitching odd pixels from the first and second first-in first-out pixelbuffers and even pixels from the first and second first-in first-outpixel buffers to a multi-tap first-in first-out pixel buffer: (d)providing a current image frame to a first correlator; (e) providing aprevious image frame to a second correlator; (f) determining whethereither of the current or previous image frames represent the opticalacquisition target.
 14. The method of claim 13, wherein the pixels areprovided to the first and second first-in first-out pixel buffers at afirst rate and are switched at a second rate.
 15. The method of claim13, wherein the second rate is one-half of the first rate.
 16. Themethod of claim 13, wherein the step of switching rearranges the pixelsinto serial order.
 17. The method of claim 13, wherein the multi-tapfirst-in first-out buffer sequentially shifts received pixels among thetaps.
 18. The method of claim 13, wherein step (f) comprises the step ofcomparing the current and previous image frames to a template definingan image of the acquisition target.
 19. The method of claim 18, whereinstep (f) further comprises selecting the template according to a heightof an object bearing the optical acquisition target.